Part Number Hot Search : 
AS3543 DTC114Y 2SC43 RJH60 P1101CA2 RJH60 7805A MB15F02L
Product Description
Full Text Search
 

To Download MC68HC55 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 Order Number: MC68HC55 Rev. 2
MC68HC55/D
Technical Data Two-Channel CMOS ASIC Device
Section 1. DSI/D (Distributed System Interface - Digital) 1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.2 General Description of the DSI System. . . . . . . . . . . . . . . . .3 1.3 Overall DSI System Connections . . . . . . . . . . . . . . . . . . . . .3 Section 2. MC68HC55CD Pin Assignments and Descriptions 2.1 Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 2.2 Pin Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Section 3. Registers and Bit Descriptions 3.1 DSI Channel 0 Data Registers . . . . . . . . . . . . . . . . . . . . . . .9 3.2 DSI Channel 1 Data Registers . . . . . . . . . . . . . . . . . . . . . .10 3.3 DSI Status Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 3.4 DSI Channel Control Registers . . . . . . . . . . . . . . . . . . . . . .13 3.5 DSI Channel Enable Bits. . . . . . . . . . . . . . . . . . . . . . . . . . .17 Section 4. Functional Description 4.1 Reset Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 4.2 Abort Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 4.3 Enable (Disable) Function . . . . . . . . . . . . . . . . . . . . . . . . . .20 4.4 SPI Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 4.5 DSI/D to DSI/P Communications. . . . . . . . . . . . . . . . . . . . .29 4.6 CRC Generation/Checking . . . . . . . . . . . . . . . . . . . . . . . . .30 4.7 CRC Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 4.8 Message Size Special Cases . . . . . . . . . . . . . . . . . . . . . . .31 Section 5. Timing and Electrical Specifications 5.1 Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 5.2 DC Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . .34 5.3 Timing Characteristics for DSI/D to DSI/P Interface . . . . . .34 5.4 Timing Characteristics for SPI Interface . . . . . . . . . . . . . . .36 Section 6. Mechanical Data and Ordering Information 6.1 Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 6.2 Mechanical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 6.3 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
This document contains information on a new product. Specifications and information herein are subject to change without notice.
(c) Freescale Semiconductor, Inc., 1999, 2006
MC68HC55 Technical Data
Section 1. DSI/D (Distributed System Interface - Digital)
The distributed system interface uses a 2-wire bus to interconnect a master controller with sensors and firing units in an airbag system or other automotive body control applications. Remote units are a key feature of this system because they do not require a crystal or other critical timing reference components which might be damaged in a crash. This document describes a 2-channel CMOS (complmenetary metal-oxide semiconductor) ASIC (application-specific integrated circuit) device, the MC68HC55. It communicates with the (master) serial peripheral interface (SPI) from an MCU and generates interface signals to/from an analog SmartMOSTM device called the DSI/P (where P indicates the physical layer of the DSI system). 1.2 General Description of the DSI System gives a general overview of the distributed system interface (DSI), providing a context for understanding the details of this specification.
1.1 Features
Features of the MC68HC55 include: * * * * * * * * Compact 16-pin narrow body SOIC (small outline integrated circuit) package Compatible with Freescale SPI (serial peripheral interface) communication interface Compatible with DSI/P analog ASIC Two independent DSI channels Pin assignments match DSI/P for easy connection Automatic CRC (cyclical redundancy check) generation and checking for robust message verification 4-stage transmit and receive FIFOs (first in, first out) 8-bit or 16-bit messages, plus 4-bit CRC
SmartMOS is a trademark of Freescale Semiconductor, Inc.
Technical Data 2
MC68HC55 DSI/D (Distributed System Interface - Digital)
MC68HC55 Technical Data General Description of the DSI System
1.2 General Description of the DSI System
The distributed system interface is intended as a robust serial interface system suitable for automotive body applications including airbag safety systems. Specific goals of this system include: * * * * * * Reduction of intermodule wiring by using a 2-conductor bus. Provide power to remote nodes on the same pair of wires Self-organizing system (modules need not be programmed prior to installation) No critical timing components such as crystals in remote nodes (subject to damage in a crash) Wave shaped signals to minimize electrical noise CRC error checking on all messages to assure message integrity
1.3 Overall DSI System Connections
The DSI system consists of: * * * Master MCU such as the MC68HC16P3 One or more DSI/D devices, one DSI/P dual analog SmartMOS device per DSI/D Up to 15 remote sensor and firing units per DSI bus
In this DSI system, the master MCU will communicate with the DSI/D via the SPI. The DSI/D will in turn communicate with a DSI/P via three wires using CMOS levels. Finally, the analog DSI/P will interface to the 2-wire DSI bus using a combination of pulse length encoded voltage levels for transmission of data to remote peripheral units and current return signals for received data at the same time. All signals on the 2-wire DSI physical layer bus are wave-shaped to minimize electrical noise. Refer to Figure 1-1 for the following discussion.
MC68HC55 DSI/D (Distributed System Interface - Digital)
Technical Data 3
MC68HC55 Technical Data
CSU - CENTRAL SENSING UNIT
CH. 0 MC68HC16P3 MCU PWM Pin SCK SPI (Master) MOSI MISO I/O Pin MC68HC55 SCLK CLK CH. 1 DI DO CS DSI0F DSI0S DSI0R DSI1F DSI1S DSI1R DSI1O GND DSI/P DSI0O GND 2-WIRE BUS
SIGNAL RETURN GND BUS IN GND BUS IN GND BUS IN GND BUS IN BUS OUT BUS OUT BUS OUT BUS OUT GND BUS IN BUS OUT
***
SLAVE 1
SLAVE 2
SLAVE 3
SLAVE 4
SLAVE 15
Figure 1-1. DSI System Connections (Other Arrangements Possible) After reset, the master MCU must first configure the DSI system by assigning a unique 4-bit address to each remote peripheral unit on the 2-wire DSI bus. When the system is initially powered up, the 2-wire bus idles at about 25 volts to provide power to the local power supply capacitor at the first node of the distributed bus. A bus switch in each peripheral node is initially opened until that node has been programmed with a 4-bit address. After power up, the 2-wire bus only goes as far as the first node. The master MCU provides a series of SPI commands to the DSI/D to send a 16-bit (plus 4-bit CRC) message instructing it to assign a 4-bit address to the first node. Address 0000 is a global address which addresses all nodes whether or not they have been initialized with their unique 4-bit address. During this first message, no remote node will respond (provide return data to the master). This first message sets the address of the first node, which causes it to close its bus switch.The bus now goes to the first and second nodes along the 2-wire bus, and the second node power supply capacitor becomes charged by the 25-volt idle level on the bus.
Technical Data 4
MC68HC55 DSI/D (Distributed System Interface - Digital)
MC68HC55 Technical Data Pin Assignments
The second message assigns the address to the second node and receives a response message from the first node at the same time. The first node ignores the second address assignment message because it already has an address. During the third address assignment message, only the second node responds (a node only responds to the assignment message once).This sequence continues until all nodes have been assigned addresses and have responded that the assignment was successful. Now that the nodes each have a unique address, messages can be sent and received from individual nodes. Notice that during a message, the node that is receiving the command and the node that is returning a response are not necessarily the same node. Nodes do not have any permanently programmed address. Addresses are assigned according to the order of the devices on the bus every time power is applied. Multiple nodes may be replaced and/or the system can be reconfigured by adding nodes to the bus, and the system will automatically reconfigure itself at the next power-on.
Section 2. MC68HC55CD Pin Assignments and Descriptions
Refer to Figure 2-1 for the MC68HC55CD pin assignments. A brief description of the pins is given in this section.
2.1 Pin Assignments
SCLK CLK DI DO CS RESET INT GND 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 VDD DSI0F DSI0S DSI0R N/C DSI1F DSI1S DSI1R
16-lead narrow body SOIC, package #751B-05 issue J
Figure 2-1. MC68HC55CD Pin Assignments
MC68HC55 MC68HC55CD Pin Assignments and Descriptions Technical Data 5
MC68HC55 Technical Data
Table 2-1. Pin Information
Pin # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Pin Name SCLK CLK DI DO CS RESET INT GND DSI1R DSI1S DSI1F N/C DSI0R DSI0S DSI0F VDD Description System clock SPI clock SPI data in to DSI/D SPI data out from DSI/D SPI chip select DSI/D reset Interrupt output Supply common DSI channel 1 return DSI channel 1 signal DSI channel 1 frame No connection DSI channel 0 return DSI channel 0 signal DSI channel 0 frame Positive supply Direction Relative to DSI/D Input Input Input Three-state output Active low input Active low input Active low output (open-drain) -- CMOS input CMOS output CMOS output -- CMOS input CMOS output CMOS output -- Source/ Destination From MCU SCK out from MCU MOSI from MCU MISO to MCU Port output from MCU RESET of MCU system To IRQ input of MCU Supply common From DSI_R of DSI/P To DSI_S of DSI/P To DSI_F of DSI/P -- From DSI_R of DSI/P To DSI_S of DSI/P To DSI_F of DSI/P --
2.2 Pin Function Descriptions
SCLK -- This clock input controls bit and frame timing for messages between the DSI/D and the DSI/P. The length of a bit time may be configured to be 3, 6, 12, or 24 periods of SCLK by the setting of the CDIV0[B:A] and CDIV1[B:A] bit fields (the setting for each DSI/D channel is independently controlled). SCLK is relatively slow (nom. 15 kHz to 450 kHz) compared to the SPI clock (nom. 4 MHz). CLK -- This is the SPI clock signal from the MCU. The DSI/D is a slave SPI device. DI -- SPI data in to DSI/D (MOSI pin of MCU). DO -- SPI data out from DSI/D (MISO pin of MCU).
Technical Data 6
MC68HC55 MC68HC55CD Pin Assignments and Descriptions
MC68HC55 Technical Data Pin Function Descriptions
CS -- SPI chip select input. When this signal is high, the DSI/D is deselected and ignores the other SPI signals. CLK and DI are high impedance inputs, and DO is high-impedance when CS is high.The first SPI transfer after CS goes low is always a command to the DSI/D. If CS is held low for additional SPI transfers, they are considered to be data related to the previous command. RESET -- DSI/D system reset. A low level on this pin forces the DSI/D logic to abort any operation in progress and initialize to a startup condition. INT -- This active-low open-drain output signals that some internal condition needs attention. Separate mask bits are provided for the receive FIFO not empty and transmit FIFO empty interrupt conditions for each DSI/D channel (a total of four mask bits). INT remains low as long as any enabled interrupt condition is still pending. GND -- Power supply ground return DSI1R -- DSI channel 1 return. This is the data input signal from the DSI/P. The DSI/D samples the CMOS level on this pin at the end of a bit time. This level will correspond to the current sensed on the signal line of the DSI physical interface by the DSI/P. DSI1S -- DSI channel 1 signal. This is the data output signal to the DSI/P. Data bits are pulse length encoded voltage levels on this signal line. A logic 0 starts with a falling edge on DSI1S and is low for two-thirds of the bit time and then high for one-third of the bit time. A logic 1 starts with a falling edge on DSI1S and is low for one-third of the bit time and then high for two-thirds of the bit time. DSI1F -- DSI channel 1 frame.This output idles high and is driven low during each transfer frame. DSI0R -- DSI channel 0 return. This is the data input signal from the DSI/P. The DSI/D samples the CMOS level on this pin at the end of a bit time. This level will correspond to the current sensed on the signal line of the DSI physical interface by the DSI/P. DSI0S -- DSI channel 0 signal. This is the data output signal to the DSI/P. Data bits are pulse length encoded voltage levels on this signal
MC68HC55 MC68HC55CD Pin Assignments and Descriptions Technical Data 7
MC68HC55 Technical Data
line. A logic 0 starts with a falling edge on DSI0S and is low for two-thirds of the bit time and then high for one-third of the bit time. A logic 1 starts with a falling edge on DSI0S and is low for one-third of the bit time and then high for two-thirds of the bit time. DSI0F -- DSI channel 0 frame. This output idles high and is driven low during each transfer frame. VDD -- This is the positive voltage supply input (nom. 5 V).
Section 3. Registers and Bit Descriptions
The MC68HC55 includes eight 8-bit registers. A master MCU reads from or writes to these registers through an SPI. For more information about the SPI and command protocol, refer to 4.4 SPI Communications Table 3-1. Register Summary
Register Address 000 001 010 011 100 101 110 111 Register Name DSI0H DSI0L DSI1H DSI1L DSISTAT DSI0CTRL DSI1CTRL DSIENABLE Description DSI channel 0 data register (upper byte) DSI channel 0 data register (lower byte) DSI channel 1 data register (upper byte) DSI channel 1 data register (lower byte) DSI status register DSI channel 0 control register DSI channel 1 control register DSI channel enable bits
Technical Data 8
MC68HC55 Registers and Bit Descriptions
MC68HC55 Technical Data DSI Channel 0 Data Registers
3.1 DSI Channel 0 Data Registers
Address: $000 Bit 7 Read: BIt 15 Write: Reset: 0 0 0 0 0 0 0 0 14 13 12 11 10 9 Bit 8 6 5 4 3 2 1 Bit 0
Figure 3-1. DSI Channel 0 Data Register Upper Byte (DSI0H)
Address: $001 Bit 7 Read: BIt 7 Write: Reset: 0 0 0 0 0 0 0 0 6 5 4 3 2 1 Bit 0 6 5 4 3 2 1 Bit 0
Figure 3-2. DSI Channel 0 Data Register Lower Byte (DSI0L) Reads access the receive data FIFO for channel 0. A receive FIFO not empty (RFNE0) status bit in the DSISTAT register indicates when it is appropriate to read the DSI0H and DSI0L register pair. Reading DSI0L, while the receive FIFO is not empty, causes a receive FIFO pop. In the case of reading the 16-bit DSI0H:DSI0L register pair, read DSI0H first so the receiver FIFO pop does not occur prematurely. Writes access the transmit data FIFO for channel 0. A transmit FIFO not full (TFNF0) status bit in the DSISTAT register indicates when it is appropriate (TFNF0 = 1) to write to the DSI0H and DSI0L register pair. Writing DSI0L causes a transmit FIFO push. In the case of writing the 16-bit DSI0H:DSI0L register pair, write DSI0H first so the FIFO push does not occur prematurely. Both receive and transmit are equipped with 4-stage FIFOs.
MC68HC55 Registers and Bit Descriptions
Technical Data 9
MC68HC55 Technical Data 3.2 DSI Channel 1 Data Registers
Address: $010 Bit 7 Read: BIt 15 Write: Reset: 0 0 0 0 0 0 0 0 14 13 12 11 10 9 Bit 8 6 5 4 3 2 1 Bit 0
Figure 3-3. DSI Channel 1 Data Register Upper Byte (DSI1H)
Address: $011 Bit 7 Read: BIt 7 Write: Reset: 0 0 0 0 0 0 0 0 6 5 4 3 2 1 Bit 0 6 5 4 3 2 1 Bit 0
Figure 3-4. DSI Channel 1 Data Register Lower Byte (DSI1L) For the description of DSI1H and DSI1L, refer to 3.1 DSI Channel 0 Data Registers.
3.3 DSI Status Register
Address: $100 Bit 7 Read: Write: Reset: 0 1 1 0 0 1 1 0 ER1 6 TFE1 5 TFNF1 4 RFNE1 3 ER0 2 TFE0 1 TFNF0 Bit 0 RFNE0
= Unimplemented
Figure 3-5. DSI Status Register (DSISTAT) This 8-bit register provides status information for both channels of the DSI/D. A copy of this register is latched at the falling edge of the SPI chip select to avoid asynchronous problems due to bits changing during an SPI transfer. Any changes that occur while chip select remains low (due to SPI data reads or writes or reception of new DSI data, etc.) will not be
Technical Data 10 MC68HC55 Registers and Bit Descriptions
MC68HC55 Technical Data DSI Status Register
visible via the SPI until chip select rises and returns low to start a new SPI transfer. Reads of this register should be considered a snapshot of the status at the last falling edge of chip select.
NOTE:
To guarantee coherence between an SPI read of status and data, the reads must be within the same SPI burst (CS must remain continuously low for the data and status reads). One way to assure this is to always read data in a burst, starting with a command referencing DSI0H through DSI1L, leaving the register pointer pointing at the DSISTAT register (see Figure 4-7). The first SPI transfer which corresponds to the read or write address 000 command will return (read) register 100 (DSISTAT). The values of DSISTAT and DSI0H through DSI1L are latched at the falling edge of CS, so changes due to DSI transfers are not seen until a future SPI transfer. ER1 -- CRC Error Bit (Channel 1 Read) 0 = CRC value for the data in the read buffer was correct. 1 = CRC value for the data in the read buffer was not correct (data is not valid). CRC errors are associated with each data value in the receive FIFO, so each FIFO entry has a bit to indicate whether the data in that stage of the FIFO was received correctly. Whenever a received value is visible at DSI1H:DSI1L, the associated CRC error status is visible at ER1 in the DSISTAT register. When a new data value becomes visible due to a pop of a previous value, the ER1 status flag reflects the CRC status of the new data value. There is no separate interrupt associated with ER1 because it is always associated with the RFNE1 status flag. TFE1 -- Transmit FIFO Empty Bit (Channel 1) 0 = Transmit FIFO not empty 1 = Transmit FIFO empty When the transmit FIFO is empty, four consecutive write bursts may be used to fill the FIFO without checking the flags between writes. An interrupt may be generated on the transmit FIFO empty condition.
MC68HC55 Registers and Bit Descriptions
Technical Data 11
MC68HC55 Technical Data
TFNF1 -- Transmit FIFO Not Full Bit (Channel 1) 0 = Transmit FIFO full; no room to write any additional data 1 = FIFO not full; there is room for more data in the transmit FIFO There is no interrupt associated with the transmit FIFO not full condition. When the conclusion of a DSI transfer frame would cause both TFNF and RFNE to become set, RFNE becomes set but TFNF is not set until one DSI clock cycle later. When the transmit FIFO is full, attempts to write more data into the FIFO are ignored. RFNE1 -- Receive FIFO Not Empty Bit (Channel 1) 0 = Receive FIFO empty; no new data ready to be read 1 = One or more data entries in receive FIFO; data is available to be read It is not possible to overflow the receive FIFO because it is not possible to get more than four transmit messages into the system at a time. When there is any data in the receive FIFO, a write to the transmit buffer also reads (pops) data from the receive FIFO. ER0 -- CRC Error Bit (Channel 0 Read) 0 = CRC value for the data in the read buffer was correct. 1 = CRC value for the data in the read buffer was not correct (data is not valid). Refer to the description of ER1. TFE0 -- Transmit FIFO Empty Bit (Channel 0) 0 = Transmit FIFO not empty 1 = Transmit FIFO empty Refer to the description of TFE1. TFNF0 -- Transmit FIFO Not Full Bit (Channel 0) 0 = Transmit FIFO full; no room to write any additional data 1 = FIFO not full; there is room for more data in the transmit FIFO Refer to the description of TFNF1. RFNE0 -- Receive FIFO Not Empty Bit (Channel 0) 0 = Receive FIFO empty; no new data ready to be read 1 = One or more data entries in receive FIFO; data is available to be read Refer to the description of RFNE1.
Technical Data 12 MC68HC55 Registers and Bit Descriptions
MC68HC55 Technical Data DSI Channel Control Registers
3.4 DSI Channel Control Registers
Address: $101 Bit 7 Read: CDIV0B Write: Reset: 0 0 0 0 0 0 0 0 CDIV0A DLY0B DLY0A RIE0 TIE0 0 MS0 6 5 4 3 2 1 Bit 0
Figure 3-6. DSI Channel 0 Control Register (DSI0CTRL) This register should be written before data is sent over the DSI bus. Any write to this register causes any DSI transfer in progress on this DSI channel to be aborted (see 4.2 Abort Function). The bits in this register are updated as they are received over the SPI, but no new values take effect until the next DSI clock cycle after the conclusion of the SPI write to this register. CDIV0[B:A] -- Clock Divider for Channel 0 Bits The CDIV0[B:A] bits specify an additional divider between the SCLK input and the bit timing circuitry. When CDIV0[B:A] are set for 0:0, each bit time on the DSI/D to DSI/P interface is three SCLK periods long. Table 3-2. CDIV0 Divider Information
CDIV0[B:A] 0:0 0:1 1:0 1:1 Divisor
/1 /2 /4 /8
SCLK Periods per Bit Time 3 6 12 24
DLY0[B:A] -- Inter-Frame Delay for Channel 0 Bits These bits specify the minimum delay between transfer frames on the DSI/D to DSI/P interface. When DLY0[B:A] are set for 0:0, there will be a minimum of four bit times of idle line from the end of a transfer
MC68HC55 Registers and Bit Descriptions
Technical Data 13
MC68HC55 Technical Data
frame to the beginning of the next frame. The length of a bit time depends upon the SCLK input frequency and the current setting in the CDIV0[B:A] bits. Table 3-3. DLY0 Frame Spacing Information
DLY0[B:A] 0:0 0:1 1:0 1:1 Minimum Delay Between Frames (Bit Times) 4 8 16 32
RIE0 -- Receive Interrupt Enable (Channel 0) Bit 0 = Receive interrupt disabled; RFNE0 status does not affect INT pin. 1 = Receive interrupt enabled; whenever the RFNE0 status flag is 1, the INT pin will be low to request an interrupt. TIE0 -- Transmit Interrupt Enable (Channel 0) Bit 0 = Transmit interrupt disabled; TFE0 status does not affect INT pin. 1 = Transmit interrupt enabled, whenever the TFE0 status flag is 1, the INT pin will be low to request an interrupt. MS0 -- Message Size (Channel 0) Bit 0 = 16 data bits plus 4 CRC bits data bits 15 through 0 then 4 CRC bits 1 = 8 data bits plus 4 CRC bits data bits 7 through 0 then 4 CRC bits If the DSI0CTRL register is written while a transfer is in progress, the transfer is aborted without being completed.
Technical Data 14
MC68HC55 Registers and Bit Descriptions
MC68HC55 Technical Data DSI Channel Control Registers
Address:
$110 Bit 7 6 CDIV1A 0 5 DLY1B 0 4 DLY1A 0 3 RIE1 0 2 TIE1 0 1 0 0 Bit 0 MS1 0
Read: CDIV1B Write: Reset: 0
Figure 3-7. DSI Channel 1 Control Register (DSI1CTRL) This register should be written before data is sent over the DSI bus. Any write to this register causes any DSI transfer in progress on this DSI channel to be aborted (see 4.2 Abort Function). The bits in this register are updated as they are received over the SPI interface, but no new values take effect until the next DSI clock cycle after the conclusion of the SPI write to this register. CDIV1[B:A] -- Clock Divider for Channel 1 Bits The CDIV1[B:A] bits specify an additional divider between the SCLK input and the bit timing circuitry. When CDIV1[B:A] are set for 0:0, each bit time on the DSI/D to DSI/P interface is three SCLK periods long. Table 3-4. CDIV1 Divider Information
CDIV1[B:A] 0:0 0:1 1:0 1:1 Divisor
/1 /2 /4 /8
SCLK Periods per Bit Time 3 6 12 24
DLY1[B:A] -- Inter-Frame Delay for Channel 1 Bits These bits specify the minimum delay between transfer frames on the DSI/D to DSI/P interface. When DLY1[B:A] are set for 0:0, there will be a minimum of four bit times of idle line from the end of a transfer
MC68HC55 Registers and Bit Descriptions
Technical Data 15
MC68HC55 Technical Data
frame to the beginning of the next frame. The length of a bit time depends upon the SCLK input frequency and the current setting in the CDIV1[B:A] bits. Table 3-5. DLY1 Frame Spacing Information
DLY1[B:A] 0:0 0:1 1:0 1:1 Minimum Delay between Frames (Bit Times) 4 8 16 32
RIE1 -- Receive Interrupt Enable (Channel 1) Bit 0 = Receive interrupt disabled; RFNE1 status does not affect INT pin. 1 = Receive interrupt enabled; whenever the RFNE1 status flag is 1, the INT pin will be low to request an interrupt TIE1 -- Transmit Interrupt Enable (Channel 1) Bit 0 = Transmit interrupt disabled; TFE1 status does not affect INT pin. 1 = Transmit interrupt enabled; whenever the TFE1 status flag is 1, the INT pin will be low to request an interrupt MS1 -- Message Size (Channel 1) Bit 0 = 16 data bits plus 4 CRC bits data bits 15 through 0 then 4 CRC bits 1 = 8 data bits plus 4 CRC bits data bits 7 through 0 then 4 CRC bits If the DSI1CTRL register is written while a transfer is in progress, the transfer is aborted without being completed.
Technical Data 16
MC68HC55 Registers and Bit Descriptions
MC68HC55 Technical Data DSI Channel Enable Bits
3.5 DSI Channel Enable Bits
Address: $111 Bit 7 Read: 0 Write: Reset: 0 0 0 0 0 0 0 EN1 EN0 6 5 4 3 2 1 Bit 0
Figure 3-8. DSI Channel Enable Bits (DSIENABLE) This read/write register is used to enable or disable each DSI channel. When a DSI channel is disabled, its DSIxF pin is high and its DSIxS pin is low which forces the DSI/P device to three-state its bus outputs. Disabling a DSI channel clears the transmit and receive FIFOs for that channel. See 4.3 Enable (Disable) Function.
NOTE:
Bits [7:2] are reserved and read as 0s. These bits could be used in future versions of the MC68HC55. EN1 -- Enable for DSI Channel 1 Bit 0 = DSI channel 1 disabled; DSI1F pin = high (1), DSI1S pin = low (0) 1 = DSI channel 1 enabled; operates normally EN0 -- Enable for DSI Channel 0 Bit 0 = DSI channel 0 disabled; DSI0F pin = high (1), DSI0S pin = low (0) 1 = DSI channel 0 enabled; operates normally
MC68HC55 Registers and Bit Descriptions
Technical Data 17
MC68HC55 Technical Data
Section 4. Functional Description
The MC68HC55 is controlled by a master MCU through an SPI, and handles the digital portions of a distributed system interface (DSI) system. This device includes two separate DSI channels, each capable of interfacing to up to 15 DSI bus slave devices (nodes). The DSI physical layer uses a 2-wire bus with analog wave-shaped voltage and current signals so an analog SmartMOS device called a DSI/P is needed to interface the CMOS logic levels of the DSI/D to the analog physical layer of the DSI bus. Refer to Figure 4-1 for the following discussions. Major subsystems within the MC68HC55 include: * * * Serial peripheral interface (SPI) to the master MCU A register pointer block Two channels of DSI data registers buffers: - Transmit data register (high and low bytes) - Receive data register (high and low bytes) * * * * CRC block for each channel Control and status registers Serial clock (SCLK) input block 4-level FIFOs on each transmit and receive buffer.
Technical Data 18
MC68HC55 Functional Description
MC68HC55 Technical Data Reset Function
MC68HC55 -- DISTRIBUTED SYSTEM INTERFACE -- DIGITAL PORTION
SCLK RESET INT CLOCK DIVIDERS DIV BY 1, 2, 4, or 8 SCALED SCLKs
DSI0
CRC GENERATION 16 Rx FIFO DATA DATA DATA DATA Tx FIFO DATA DATA DATA DATA ER ER ER ER CRC CHECKING DATA PUSH MUX DATA POP DSI0F DSI_XFER_0 16 DSI0S CHANNEL 0 CHANNEL 1 DSI0R
SPI
INTERRUPT STATUS REG CONTROL REGS ENABLE REG REG POINTER BIT POINTER
ER0 DATA POP DATA 1
PUSH ENx ABORT SPI_LAST_BIT
CLK MUX DO CS DI
DSI1
ER1 DATA 16 CRC GENERATION Rx FIFO DATA DATA DATA DATA Tx FIFO DATA DATA DATA DATA ER ER ER ER CRC CHECKING DATA PUSH MUX DATA POP DSI1F DSI_XFER_1 16 DSI1S DSI1R
POP DATA 1
SPI_XFER
PUSH
Figure 4-1. MC68HC55 Block Diagram
4.1 Reset Function
A low level on RESET forces all FIFO bits to be cleared. The receive and transmit FIFO pointers are cleared, which effectively forces the FIFOs to the empty condition. Since the DSI channels are disabled (ENx = 0), the DSIxF pins are high and the DSIxS pins are low, which forces the DSI/P devices to three-state their bus outputs. Reset also forces all MC68HC55 state machines to their idle state.
MC68HC55 Functional Description
Technical Data 19
MC68HC55 Technical Data 4.2 Abort Function
Any DSI transfer that was in progress is stopped as soon as the SPI write that caused the abort begins. The DSI/D to DSI/P interface lines return to their idle states. The abort condition is true throughout the SPI write to the DSI control register. After the last bit of the DSI control register is written, the transmit and receive FIFO pointers are reset, which effectively clears these FIFOs and forces the FIFO locations to 0. A minimum inter-frame delay is then timed (using the new values of clock scaling and delay control bits) to allow reserve capacitors in remote nodes to charge. (Any partial inter-frame delay based on old control settings is forgotten.)
4.3 Enable (Disable) Function
When a DSI channel is disabled, its DSIxF pin is high and its DSIxS pin is low which forces the DSI/P device to three-state its bus output. The transmit and receive FIFO pointers are reset, which effectively clears these FIFOs and forces the FIFO locations to 0. Any DSI transfer that was in progress is stopped. Although the SPI clock and the DSI input clock both typically come from the same MCU system clock in an MCU plus DSI/D system, there is no guaranteed relationship between these clocks, so the system was designed as if these clocks were asynchronous. The FIFO architecture eliminated most of the cases where these clocks need to interact, and the remaining cases were designed with extra care to prevent asynchronous problems. Figure 4-2 explains the notation used in the subsequent state diagrams. Entry to the IDLE state is asynchronous and all other state transitions are synchronous. The note in the upper right corner of the figure identifies which edge of which clock or signal is used to synchronize state transitions. Each arrow or arc has a condition which must be true before the transition can take place. This condition can be the value of a single signal or a more complex logic function. A slash (/) indicates the
Technical Data 20
MC68HC55 Functional Description
MC68HC55 Technical Data Enable (Disable) Function
ASYNCHRONOUS RESET/ACTION(S)
STATE TRANSITIONS OCCUR ON POSEDGE OF XXX CLOCK
IDLE SYNCHRONOUS CONDITION/ACTION(S)
STATE_1
SYNCHRONOUS CONDITION/ACTION(S)
Figure 4-2. State Diagram Notation end of the condition or equation which must be true for a transition to occur. The statement or statements after the slash are executed during the transition to the next state. These state diagrams are not a complete description of the entire MC68HC55. They are intended to include just enough relevant data to understand the operation of the state machines and basic DSI/D functions. Figure 4-3 describes how SPI transfers lead to transmit FIFO push operations or transfer abort actions. State transitions in this state machine are synchronous with rising edges of the SPI clock. The initial state, SP_IDLE, is entered asynchronously whenever internal reset becomes active or the SPI chip select input goes high. Upon entry to the idle state, the SPI_WRITE signal is deactivated and the SPI bit counter is set to 7 (it will count down as bits are received). When the SPI chip select goes low (active), the first SPI transfer will be a command byte and the first bit indicates a write or read command. The SPI_WRITE signal takes on the value of this first bit, and the state machine enters the COMMAND_TRANSFER state, where the remaining bits of the command byte are received. The last three bits of the command set the initial value of the register pointer (update occurs on the next SPI clock falling edge). After the command byte is complete, the state machine advances to the SPI_BURST state, which remains active until the SPI chip select goes high or the MC68HC55 is reset.
MC68HC55 Functional Description
Technical Data 21
MC68HC55 Technical Data
RESET or CS_INACTIVE/ SPI_WRITE = 0 SPI_BIT_PTR = 7 SPI_IDLE CS_ACTIVE/ SPI_WRITE = DATA_IN SPI_COMMAND_XFER STATE MACHINE TRANSITIONS ON RISING EDGES OF SPI CLOCK
~LAST_SPI_BIT/ SPI_BIT_PTR = SPI_BIT_PTR - 1
LAST_SPI_BIT/ SPI_BIT_PTR = 7; INITIALIZE REG_PTR FROM COMMAND BITS 2-0
SPI_BURST LAST_SPI_BIT/ SPI_BIT_PTR = 7 REG_PTR = REG_PTR+1 (rolls over 7-0) IF SPI_WRITE & REG_PTR = CTRL THEN ABORT IF SPI_WRITE & REG_PTR = DATA_L THEN X_FIFO PUSH IF R_FIFO_NOT_EMPTY & REG_PTR = DATA_L THEN R_FIFO_POP
~LAST_SPI_BIT/ SPI_BIT_PTR = SPI_BIT_PTR - 1
Figure 4-3. State Diagram -- SPI Transfer In the SPI_BURST state, new SPI characters are read-from or written-to-and-read-from DSI/D registers. If the control register is written, an ABORT request is generated which will immediately stop any DSI transfer that was in progress (refer to Figure 4-4). If the DATA register low byte is written, a transmit FIFO push operation is generated (see Figure 4-5). If the DATA register low byte is accessed (read or written) and there is at least one entry in the receive FIFO, a receive FIFO pop operation is generated. When a DSI transfer results in both an R_FIFO_PUSH and an X_FIFO_POP, the R_FIFO_PUSH is performed first to avoid the possibility of the transmit FIFO from getting ahead of the receive FIFO. Figure 4-4 describes what happens during DSI serial transfers. State transfers in this state machine are synchronous with positive edges on the scaled SCLK and the initial state is WAIT_FRAME_DELAY. Initial entry into this state is caused by a reset, abort, or by enable becoming inactive. These conditions cause an asynchronous entry into this state. The exit to the next state, TRANSFER_DSI_BITS, needs to be synchronous.
Technical Data 22 MC68HC55 Functional Description
MC68HC55 Technical Data Enable (Disable) Function
RESET, ABORT, or ~EN/ DSIF = 1, DSIS = 1 RESET DELAY-CNTR WAIT_FRAME_DELAY DELAY_OVER & X_FIFO NOT_EMPTY/ DSIF = 0
STATE TRANSITIONS OCCUR ON POSEDGE OF SCALED SCLK
WAIT-SIGNAL_DLY0...2 CAUSES 1 BIT-TIME DELAY TO FIRST BIT FALLING EDGE
WAIT_SIGNAL_DLY_0
WAIT_SIGNAL_DLY_1
WAIT_SIGNAL_DLY_2
DSI_BIT_PNTR = 11 or 19 DSIS = 0 ~DSI_LAST_CRC_BIT/ DSI_BIT_PNTR = DSI_BIT_PNT - ; DSIS = 0 DSIS = 1 TRANSFER_DSI_BITS_2
DSIS=DSI_DATA_OUT TRANSFER_DSI_BITS_0 TRANSFER_DSI_BITS_1
X_FIFO_POP = 0
DSI_X_POP R_FIFO_PUSH = 0
DSI_R_PUSH
DSI_LAST_CRC_BIT/ DSIF = 1, DSIS = 1 RESET DELAY-CNTR R_FIFO_PUSH = 1, X_FIFO_POP = 1
Figure 4-4. State Diagram -- DSI Transfer When enable is true and there is at least one valid entry in the transmit FIFO, the DSI frame signal is driven low to start a frame. States WAIT_SIGNAL_DLY_0 through WAIT_SIGNAL_DLY_2 create a one DSI bit-time delay before the start of the first data bit. After WAIT_SIGNAL_DLY_2, the DSI_BIT_PTR gets initialized to 11 or 19 (depending upon the value in the MSx control bit), and the TRANSFER_DSI_BITS_0 state is entered. TRANSFER_DSI_BITS_0 through TRANSFER_DSI_BITS_2 form a loop where each pass corresponds to one DSI bit time. During the first third of the bit, the DSIxS pin is low; during the second third, DSIxS is low for a 0 or high for a 1; during the last third of the bit time, DSIxS is high. Provided this is not the end of the last CRC bit, the bit pointer is decremented and the loop is repeated.
MC68HC55 Functional Description
Technical Data 23
MC68HC55 Technical Data
After the last CRC bit, the DSI_R_PUSH state is entered. This state ensures that the CRC flag is stable prior to adjusting the receive (and transmit) FIFO pointers. The DSI_X_POP state prevents an X_FIFO_POP from occurring at the same time as an R_FIFO_PUSH. After DSI_X_POP, the state transitions back to the WAIT_FRAME_DELAY state. This state ensures proper frame spacing is allowed to charge up the storage capacitors in remote nodes. Notice that the delay counter was reset at the end of the last CRC bit so the delay period can start to time out even while the DSI_R_PUSH and DSI_X_POP states are being processed. Figure 4-5 describes the operation of the transmit FIFO. This FIFO is four levels deep, including the stage which is written into by the SPI and the stage which provides the data for the current DSI serial transfer. State transitions in this state machine occur at the trailing edges of X_FIFO_PUSH and X_FIFO_POP.
~EN or ABORT or RESET/ X_PUSH_PTR = 0 X_POP_PTR = 0 X_FIFO_EMPTY = TRUE TX_IDLE X_FIFO_POP & (X_POP_PTR = X_PUSH_PTR -1)/ X_POP_PTR = X_POP_PTR+1 X_FIFO_EMPTY = TRUE
STATE TRANSITIONS OCCUR ON THE TRAILING EDGES OF X_FIFO_PUSH AND X_FIFO_POP
X_FIFO_PUSH/ X_PUSH_PTR = X_PUSH_PTR+1 X_FIFO_EMPTY = FALSE TX_NOT_EMPTY
X_FIFO_POP & (X_POP_PTR != X_PUSH_PTR -1)/ X_POP_PTR = X_POP_PTR+1
X_FIFO_PUSH & X_PUSH_PTR != X_POP_PTR -1/ X_PUSH_PTR = X_PUSH_PTR+1
X_FIFO_POP/ X_POP_PTR = X_POP_PTR+1
X_FIFO_PUSH & X_PUSH_PTR = X_POP_PTR -1/ X_PUSH_PTR = X_PUSH_PTR+1
TX_FULL
Figure 4-5. State Diagram -- Transmit FIFO
Technical Data 24
MC68HC55 Functional Description
MC68HC55 Technical Data Enable (Disable) Function
When this FIFO is completely empty, the SPI can write four new values to fill the FIFO without waiting for any action on the DSI side of the FIFO. Values are "pushed" into the FIFO from the SPI and values are "popped" after they have been serially sent out the DSI. When the FIFO is full, additional attempts to write new data from the SPI side are ignored. The host MCU should be sure the TFNFx status bit is set before writing more data to the FIFO. Reset, abort, or enable going to 0 cause asynchronous entry to the TX_IDLE state which corresponds to the FIFO empty condition. The push and pop pointers are cleared and X_FIFO_EMPTY is set to true. X_FIFO_PUSH causes the push pointer to be incremented, X_FIFO_EMPTY to be set to false, and the state to transition to TX_NOT_EMPTY. The push request comes from the SPI transfer state machine after a new value has been written into the FIFO. From TX_NOT_EMPTY, several things can happen. Additional values can be pushed into the FIFO, if the push pointer is the same as the pop pointer minus one. This push fills the FIFO so the state advances to TX_FULL. Each time a new data value is pushed into the FIFO, the push pointer is incremented. From TX_NOT_EMPTY, values may also be popped from the FIFO, freeing a stage for additional data. If the pop pointer is the same as the push pointer minus one, the pop removes the last value in the FIFO, so X_FIFO_EMPTY is set to true and the state changes back to TX_IDLE. Each time a value is popped, the pop pointer is incremented. When the transmit FIFO is full, no additional data can be written into the FIFO, so no new push requests will be generated. From TX_FULL, the only valid change is caused by a pop which causes the pop pointer to increment and the state goes back to TX_NOT_EMPTY. (Of course reset, abort, or disable could cause the state to asynchronously change to the TX_IDLE state).
MC68HC55 Functional Description
Technical Data 25
MC68HC55 Technical Data
Figure 4-6 describes the operation of the receive FIFO. State transitions in this state machine occur at the trailing edges of R_FIFO_PUSH and R_FIFO_POP. The receive FIFO is four levels deep, including the stage which receives serial data from the current DSI transfer and the stage that is accessible for SPI reads. To assure coherence of data and status, each FIFO stage includes an extra bit for the CRC error status for each received data word. Also for coherency, the DSI transfer state machine imposes a delay at the end of a DSI transfer to assure that the CRC status is stable before issuing the R_FIFO_PUSH request. The RX_IDLE state is asynchronously entered at system reset, when the enable bit goes low, or when there is an abort.
~EN or ABORT or RESET/ R_PUSH_PTR = 0 R_POP_PTR = 0 R_FIFO_EMPTY = TRUE RX_IDLE
STATE TRANSITIONS OCCUR ON THE TRAILING EDGES OF R_FIFO_PUSH AND R_FIFO_POP
R_FIFO_POP & (R_POP_PTR = R_PUSH_PTR - 1)/ R_POP_PTR = X_POP_PTR+1 R_FIFO_EMPTY = TRUE
R_FIFO_PUSH/ R_PUSH_PTR = R_PUSH_PTR+1 R_FIFO_EMPTY = FALSE
R_FIFO_POP & (R_POP_PTR != R_PUSH_PTR - 1)/ R_POP_PTR = R_POP_PTR+1
RX_NOT_EMPTY
R_FIFO_PUSH & (R_PUSH_PTR != R_POP_PTR - 1)/ R_PUSH_PTR = R_PUSH_PTR+1
R_FIFO_POP/ R_POP_PTR = R_POP_PTR+1 OVERFLOW = FALSE RX_FULL
R_FIFO_PUSH & (R_PUSH_PTR = R_POP_PTR - 1)/ R_PUSH_PTR = R_PUSH_PTR+1
Figure 4-6. State Diagram -- Receive FIFO During normal operation of the receive FIFO, values are pushed into the FIFO from the DSI serial interface, causing the push pointer to increment. After the SPI has read a data word, the receive FIFO is popped, which makes the location available for additional data from the DSI interface (it is the user's responsibility to read status and data within the same burst to assure coherence). The RX_NOT_EMPTY state is active as long as there is some data in the FIFO.
Technical Data 26
MC68HC55 Functional Description
MC68HC55 Technical Data SPI Communications
The RX_FULL state is entered when enough data has been pushed into the FIFO from the DSI to cause the push pointer to catch up to the pop pointer. Since it is not possible to introduce another DSI serial character without reading (pop) the receive FIFO, it is not possible to overflow the receive FIFO.
4.4 SPI Communications
The DSI/D is a slave peripheral device which is designed to interface to a Freescake SPI configured as a master with CPHA = CPOL = 0. When the MC68HC55 is deselected (CS pin at logic 1), CS, DI, and CLK are all high-impedance inputs, and DO is disabled (forced to a high-impedance state). The first SPI transfer, after CS is driven from high to low (to select the MC68HC55), is considered a read or write command to the DSI/D (called a command transfer). Bit 7 of the command specifies a write (1) or read (0) command while bits 2, 1, and 0 of the command specify the address of one of the eight registers in the DSI/D. This command establishes an internal register pointer. Data sent back to the master MCU from the DSI/D during a command transfer is the read data from the address previously pointed to (0s for the first transfer after reset). Any additional SPI transfers that occur while CS remains low are called data transfers. These additional data transfers write and/or read successive DSI/D registers. The internal register pointer is incremented after each data transfer and automatically rolls over from 7 (111) to 0 (000). During read data transfers, the data sent from the DSI/D (DO) to the MCU (MISO) is data that was read from the selected DSI/D register at the end of the previous SPI transfer. Data sent from the master MCU (MOSI) to the DSI/D (DI) is ignored. The internal DSI/D register pointer is incremented at the end of the transfer (rolls over to 000 if it was 111 during this transfer). During write data transfers, the data sent from the DSI/D (DO) to the MCU (MISO) is data that was read from the selected DSI/D register at the end of the previous SPI transfer (or at the falling edge of CS). Data
MC68HC55 Functional Description
Technical Data 27
MC68HC55 Technical Data
sent from the master MCU (MOSI) to the DSI/D (DI) is captured on rising edges of SCK and written, bit by bit, to the selected register as data bits are received (X_FIFO is not pushed unless all bits of DATA_L written). At the end of the transfer, the internal DSI/D register pointer is incremented (rolls over to 000 if it was 111 during this transfer). The current data from the receive FIFOs (pointed to by the receive pop pointers) is latched along with current status information at any falling edge on the SPI chip select line. This assures that the information is coherent in case further DSI activity causes any changes. If the user violates normal procedure and writes the transmit data buffer when TFNFx = 0 (indicating the FIFO is full), the new transfer is ignored. Figure 4-7 Shows a typical burst transmission between the SPI of the host MCU and the SPI in the MC68HC55. This example assumes the DSI/D register pointer was pointing at the STATUS register (100) before the start of the burst. The first SPI transfer is the command from the host MCU (write address 000 in this case). During this first transfer, the data returned to the MCU is the data that was latched from the status register at the falling edge on CS. During the next SPI transfer, the data from DSI0H (receive FIFO at pop pointer) is sent back to the MCU while new data is written to DSI0H (transmit FIFO at push pointer). Notice CS remains low throughout the whole burst sequence. As each SPI transfer completes, the DSI/D register pointer is incremented to point at the next register. At the end of this burst, the register pointer is left pointing to the status register so it is ready for the next SPI burst.
CLK DI DO CS
COMMAND - WRT 000 READ STATUS WRITE DSI0H (000) READ DSI0H (000) WRITE DSI0L (001) READ DSI0L (001) WRITE DSI1H (010) READ DSI1H (010) WRITE DSI1L (011) READ DSI1L (011)
Figure 4-7. SPI Burst Transfer Example
Technical Data 28
MC68HC55 Functional Description
MC68HC55 Technical Data DSI/D to DSI/P Communications
Although it looks like the read and write for an address are occurring at the same time, the changes caused by the write are not reflected in the read that is taking place during the same SPI transfer. Also, if the burst were extended such that it read status again, the status changes caused earlier during the same burst would not be reflected (status is latched at chip select fall).
4.5 DSI/D to DSI/P Communications
DSI/D to DSI/P communications involve a frame (DSIxF), a data signal (DSIxS), and a data return (DSIxR) signal. This ASIC device supports two independent channels of DSI communications and is used with a matching 2-channel analog SmartMOS device called the DSI/P. All DSI/D to DSI/P communications are initiated by the DSI/D in response to register writes within the DSI/D which in turn are controlled by commands received through the SPI. Messages are eight or 16 bits of data (as controlled by the MSx bit in the DSIxCTRL register) plus four bits of CRC, so messages contain 12 or 20 bits of information. CRC generation and checking are done in the DSI/D. A message starts with a falling edge on the DSIxF signal which marks the start of a frame. There is a one bit-time delay before the MSB (most significant bit) of data appears on the DSIxS pin. Data bits start with a falling edge on DSIxS. The low time is one-third of the bit time for a 1 and two-thirds of a bit time for 0. Data is transmitted on DSIxS and received on DSIxR pins simultaneously. Receive data is the captured level on the DSIxR pin at the end of each bit time. At the end of the bit time for the last CRC bit, the DSIxF pin returns to a logic high (idle level). The DSI/D imposes a minimum delay between successive frames of 4, 8, 16, or 32 bit times. The user initiates a message by writing (via the SPI interface from the MCU) to the low byte of the data register (DSIxL). When 16-bit messages are to be sent, this allows the user to write the DSIxH register and then the DSIxL register before the combined 16-bit data value (DSIxH:DSIxL) is sent. The user should first check the TFNFx status flag to be sure the transmit FIFO is not full before writing a new data value to DSIxH and/or DSIxL. When the minimum inter-frame delay has been
MC68HC55 Functional Description Technical Data 29
MC68HC55 Technical Data
satisfied, the DSIxF pin will go low, indicating the start of a new transfer frame. Data is shifted out of DSIxS (MSB first) and shifted in to DSIxR at the same time. As a message is received it is stored bit-by-bit into the next available receive FIFO location (if the FIFO is already full, an internal overflow flag is set and the serial receive data is lost). For each data value in the receive FIFO, there is a 1-bit status flag to indicate if there was a CRC error while receiving the data. At the end of a DSI transfer (and after the CRC error status is stable), the RFNEx flag is set (if it wasn't already) to indicate there is data in the receive FIFO to be read.
4.6 CRC Generation/Checking
Whenever a message is sent from the DSI/D to the DSI/P, a 4-bit CRC value is computed and serially sent as the next four bits after the LSB (least significant bit) of the data. The DSI/P passes the message, including the CRC bits, along to a remote peripheral which computes a separate CRC value as the message data is received. If this computed CRC does not agree with the CRC value received in the message, the peripheral device considers the message invalid. Messages received by the DSI/D include a 4-bit CRC value which was computed in the peripheral device that is responding to the DSI/D. As the DSI/D receives a message, it computes a separate 4-bit CRC value and compares this with the CRC value in the received message. If these values do not agree, the message is considered invalid and the ERx status flag is set as the receive data is transferred into the receive data buffer. When no remote peripheral responds to a DSI/D message, the data pattern received by the DSI/D will be all 0s with a CRC value of 0000 which is detected as a CRC error. The correct CRC value for a $00 or $0000 message would be 1010. The same 1010 CRC value applies for both 8- and 16-bit messages of all 0s. CRC errors are indicated by the ER0 and ER1 status bits. ERx status bits are cleared when new data is transferred from the shifter to the read data buffer and the CRC value was correct.
Technical Data 30 MC68HC55 Functional Description
MC68HC55 Technical Data CRC Computation
4.7 CRC Computation
The 4-bit CRC uses an initialization value of 1010 and a polynomial of x4+1. The following is a VHDL description of the CRC algorithm.
---------------------------------------------------------- Calculates the 4-bit CRC (x^4 + 1) serially for -- 8 or 16 bits of data. --------------------------------------------------------constant CRCPoly: std_logic_vector := "0001"; -- x^4 +1 constant InitCrc: std_logic_vector := "1010"; procedure SerialCalculateCRC4(CRC: input std_logic_vector;Data: in std_logic) is variable Xor1: std_logic; begin Xor1 := CRC(3) xor Data; CRC := CRC(2 downto 0) & `0'; -- Shift left 1 bit if Xor1 = `1' then CRC := CRC xor CRCPoly end if; end SerialCalculateCRC4;
4.8 Message Size Special Cases
The response to any 8-bit message is expected to be another 8-bit message and the response to any 16-bit message is expected to be another 16-bit message. All DSI messages are initiated by the master MCU through the DSI/D. This cuases to some special cases when there is a transition from one message size to a different message size. The first DSI messages that set up the addresses of the DSI system peripherals are 16-bit messages. The firing commands are also 16-bit messages. All other messages are eight bits.
MC68HC55 Functional Description
Technical Data 31
MC68HC55 Technical Data
When the previous message was eight bits and the current message is 16 bits, the response message (which is also eight bits) finishes before the current message frame and the CRC bits look like data bits 7 through 4 in the new 16-bit message format. Since the CRC validation of this 8-bit message response is not reliable, this 8-bit response should not be used. When the previous message was 16 bits and the current message is eight bits, the response message (which is also 16 bits) cannot finish before the current message frame. The last four data bits and the four CRC bits are lost. Bits 7 through 4 of the 16-bit response message look like the CRC bits of an 8-bit response and almost certainly would not be correct. Since the response is incomplete and the CRC check is not valid, this response is not useful. The 16- to 8-bit message size transition normally only occurs after setting up the addresses of the DSI bus peripherals. During address setup, a message with address 0000 is sent to attempt to set the address of the next peripheral on the daisy-chained bus. Before any peripherals have been assigned an address, their bus switches are opened so the addressing message only goes to the first peripheral in line. As each peripheral gets an address, it closes its bus switch so the next address assignment command can reach the next peripheral in line on the bus. Each peripheral responds to an address assignment only once (during the next message after the command that set its address). When the master MCU fails to receive a response, it knows it has passed the last peripheral, and that the (16-bit) address assignment command that received no response will have no response either. At this point, the master will begin sending 8-bit messages and the first such message frame will have no meaningful response associated with it. The first message after reset is also a special case because there was no previous message and therefore there will be no meaningful response during the first message transfer.
Technical Data 32
MC68HC55 Functional Description
MC68HC55 Technical Data Maximum Ratings
Section 5. Timing and Electrical Specifications
5.1 Maximum Ratings
Maximum ratings summarized here describe the worst case conditions that the device can be subjected to without risk of erroneous operation or permanent damage.
Parameter Maximum voltage on input pins VDD, SCLK, CLK, DI, DO, CS, RESET, DSI1R, DSI0R Operating temperature Storage temperature Operating junction temperature Lead temperature (soldering, 10 seconds) Thermal resistance Continuous current per pin Symbol VIn TA Tstg TJ TLead JA ID Min -0.3 -40 -55 -- -- -- -5.00 Max 7.0 85 150 150 230 125 5.00 Units V C C C C C/W mA
MC68HC55 Timing and Electrical Specifications
Technical Data 33
MC68HC55 Technical Data 5.2 DC Electrical Characteristics
Parameter(1) Supply current SCLK = 450 kHz Input high voltage SCLK, CLK, DI, CS, RESET, DSI1R, DSI0R Input low voltage SCLK, CLK, DI, CS, RESET, DSI1R, DSI0R Output high voltage (@IOH = -800 A) DO, INT, DSI1F, DSI0F, DSI1S, DSI0S Output low voltage (@IOL = 800 A) DO, INT, DSI1F, DSI0F, DSI1S, DSI0S Input leakage SCLK, CLK, DI, CS, RESET, DSI1R, DSI0R I/O port three-state leakage DO
1. 4.5 volts VDD 5.5 volts; -40C TAMB 85C
Symbol IDD VIH VIL VOH VOL IIn IOZ
Min -- 0.7*VDD -0.3 0.8*VDD 0.0 -- --
Max 3 VDD+0.3 0.3*VDD VDD 0.2*VDD 10 10
Units mA V V V V A A
5.3 Timing Characteristics for DSI/D to DSI/P Interface
This section describes the AC timing characteristics of the DSI/D to DSI/P interface pins (DSIxF, DSIxS, DSIxR). The signal bit time is derived by dividing the master clock input (SCLK) by 3, 6, 12, or 24 (see Figure 3-7 description of CDIVx[B:A] control bits). The bit time (tBit) is then used as the basis for other timing specifications.
Technical Data 34
MC68HC55 Timing and Electrical Specifications
MC68HC55 Technical Data Timing Characteristics for DSI/D to DSI/P Interface
Parameter(1) Communication rate (MC68HC55 to DSI/P) Signal bit time (tSCLKCYC * 3, 6, 12, or 24) Master clock cycle time Master clock duty cycle Frame start to signal delay time Signal end to frame end delay time Signal low time for logic 0 (33.3% duty cycle guaranteed by design) Signal low time for logic 1 (66.7% duty cycle guaranteed by design) Receive data setup -- DSI1R, DSI0R Receive data hold -- DSI1R, DSI0R Rise time (20% VDD to 70% VDD) DSI1F, DSI1S, DSI0F, DSI0S Fall time (70% VDD to 20% VDD) DSI1F, DSI1S, DSI0F, DSI0S
Symbol -- tBit tSCLKCYC -- tDLY1 tDLY2 t0LO t1LO tRSU tRH tRise tFall
2/ 1/
Min 5 6.67 2.22 40 tBit-0.2 -0.2
3tBit-0.2 3tBit-0.2
Typ -- -- tBit/3 50 tBit 0
2/ 1/ 3tBit 3tBit 2/ 1/
Max 150 200 66.7 60 tBit+0.2 0.2
3tBit+0.2 3tBit+0.2
Units kbits/s s s % s s s s ns ns ns ns
20 20 -- --
-- -- -- --
-- -- 100 100
1. 4.5 volts VDD 5.5 volts; -40C TAMB 85C; C 100 pF load on all DSI/D to DSI/P pins
tDLY1 DSIxF LOGIC 0 BIT TIME tBit tRise LOGIC 1 BIT TIME tBit
tDLY2
LAST CRC BIT TIME
tFall
DSIxS t0LO tRSU DSIxR tRH t1LO
Figure 5-1. DSI/D to DSI/P Interface Timing
MC68HC55 Timing and Electrical Specifications
Technical Data 35
MC68HC55 Technical Data 5.4 Timing Characteristics for SPI Interface
The table and Figure 5-2 describe AC timing characteristics of the SPI pins. This timing is compatible with a Freescale SPI system that is set up as a master with CPHA = CPOL = 0. Figure 5-3 is a general timing diagram for a single SPI transfer.
Parameter(1) SPI clock frequency SPI clock cycle time SPI clock high time SPI clock low time SPI CS lead time SPI CS lag time Data setup time DI valid before CLK rising edge Data hold time DI valid after CLK rising edge DO valid after CLK falling edge Access time CS fall to DO valid Data valid time CLK falling edge to DO valid Output disable time CS rise to DO Hi-Z Rise time (20% VDD to 70% VDD) CLK, DO Fall time (70% VDD to 20% VDD) CLK, DO
Symbol fSPI tCYC tHI tLO tLead tLag tSU
Min 0 227 91 91 227 227 25
Typ -- -- 125 125 -- -- --
Max 4 -- -- -- -- -- --
Units MHz ns ns ns ns ns ns
tH tHO tA tV tDIS tR tF
25 0 -- -- -- -- --
-- -- -- -- -- -- --
-- -- 100 100 100
ns
ns ns ns
25 25
ns ns
1. 4.5 volts VDD 5.5 volts; -40C TAMB 85C; C 200 pF load on all SPI pins
Technical Data 36
MC68HC55 Timing and Electrical Specifications
MC68HC55 Technical Data Timing Characteristics for SPI Interface
CS tCYC tLead tHI tLO tLag tF tR
CLK tSU DI
tH MSB LSB
tA DO MSB
tV
tHO LSB
tDIS
Figure 5-2. SPI Interface Timing
TRANSFER SCK
BEGIN
END
SAMPLE I DI PIN CHANGE O DO PIN SEL CS MASTER MSB LSB
Figure 5-3. SPI Timing Diagram for a Single Transfer
MC68HC55 Timing and Electrical Specifications
Technical Data 37
MC68HC55 Technical Data
Section 6. Mechanical Data and Ordering Information
6.1 Pin Assignments
The MC68HC55 is available in the 16-pin small outline integrated circuit (SOIC) package.
SCLK CLK DI DO CS RESET INT GND 16 15 14 13 12 11 10 9 VDD DSI0F DSI0S DSI0R N/C DSI1F DSI1S DSI1R
1 2 3 4 5 6 7 8
16-lead narrow body SOIC, package #751B-05 issue J
Figure 6-1. MC68HC55CD Pin Assignments
6.2 Mechanical Data
A
NOTES: 1. DIMENSIONING AND TOLERANCING PER ANSI Y14.5M, 1982. 2. CONTROLLING DIMENSION: MILLIMETER. 3. DIMENSIONS A AND B DO NOT INCLUDE MOLD PROTRUSION. 4. MAXIMUM MOLD PROTRUSION 0.15 (0.006) PER SIDE. 5. DIMENSION D DOES NOT INCLUDE DAMBAR PROTRUSION. ALLOWABLE DAMBAR PROTRUSION SHALL BE 0.127 (0.005) TOTAL IN EXCESS OF THE D DIMENSION AT MAXIMUM MATERIAL CONDITION. MILLIMETERS INCHES MIN MAX MIN MAX 9.80 10.00 0.386 0.393 3.80 4.00 0.150 0.157 1.35 1.75 0.054 0.068 0.35 0.49 0.014 0.019 0.40 1.25 0.016 0.049 1.27 BSC 0.050 BSC 0.19 0.25 0.008 0.009 0.10 0.25 0.004 0.009 0 7 0 7 5.80 6.20 0.229 0.244 0.25 0.50 0.010 0.019
16
9
B
1 8
P
8 PL
0.25 (0.010)
M
B
S
G F
K C T
SEATING PLANE
R
X 45
M D
16 PL M
J
0.25 (0.010)
TB
S
A
S
DIM A B C D F G J K M P R
Figure 6-2. 16-pin SOIC Package Dimensions
Technical Data 38
MC68HC55 Mechanical Data and Ordering Information
MC68HC55 Technical Data Ordering Information
6.3 Ordering Information
Package 16-pin SOIC Temperature Range -40C to 85C MC Order Number MC68HC55CD
MC68HC55 Mechanical Data and Ordering Information
Technical Data 39
How to Reach Us:
Home Page: www.freescale.com E-mail: support@freescale.com USA/Europe or Locations Not Listed: Freescale Semiconductor Technical Information Center, CH370 1300 N. Alma School Road Chandler, Arizona 85224 +1-800-521-6274 or +1-480-768-2130 support@freescale.com Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) support@freescale.com Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 support.japan@freescale.com Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate Tai Po, N.T., Hong Kong +800 2666 8080 support.asia@freescale.com For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 1-800-441-2447 or 303-675-2140 Fax: 303-675-2150 LDCForFreescaleSemiconductor@hibbertgroup.com
RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical characteristics of their non-RoHS-compliant and/or non-Pb-free counterparts. For further information, see http://www.freescale.com or contact your Freescale sales representative. For information on Freescale's Environmental Products program, go to http://www.freescale.com/epp.
Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals", must be validated for each customer application by customer's technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. FreescaleTM and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. (c) Freescale Semiconductor, Inc. 2006. All rights reserved.
MC68HC55 Rev. 2, 10/2006


▲Up To Search▲   

 
Price & Availability of MC68HC55

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X